/**
 * 模拟数据服务
 * 用于提供测试数据，正式环境中应替换为真实API调用
 */

const mockAttractions = [
  {
    id: '1',
    name: '沙扒湾海滩',
    coverImage: '/static/图片.jpg',
    tags: ['海滩', '日落', '游泳'],
    rating: 4.8,
    visitCount: 5280,
    address: '广东省阳江市阳西县沙扒镇海滨路',
    openTime: '全天开放',
    price: '免费',
    likeCount: 328,
    description: '沙扒湾位于广东省阳江市阳西县沙扒镇，是中国最美八大海滩之一。这里沙质洁白细腻，海水清澈湛蓝，海岸线蜿蜒曲折，是休闲度假、观赏日落的绝佳去处。沙扒湾拥有16公里长的海岸线，沙滩宽阔平缓，海水清澈见底，是游泳、沙滩运动的理想场所。这里的日落景色尤为壮观，被誉为"东方夏威夷"。',
    latitude: 21.574,
    longitude: 111.779,
    images: [
      { id: '101', url: '/static/图片.jpg' },
      { id: '102', url: '/static/图片.jpg' },
      { id: '103', url: '/static/图片.jpg' }
    ],
    comments: [
      {
        id: '201',
        user: {
          id: 'u1',
          nickName: '阳光旅行者',
          avatarUrl: '/static/图片.jpg'
        },
        content: '沙滩非常干净，沙子细腻，海水清澈。傍晚的日落尤其美丽，强烈推荐日落时分前来！',
        createTime: Date.now() - 864000000 // 10天前
      },
      {
        id: '202',
        user: {
          id: 'u2',
          nickName: '海边漫步',
          avatarUrl: '/static/图片.jpg'
        },
        content: '比想象中更美，海水的颜色层次分明，沙滩很宽阔，人不算多，很适合放松心情。',
        createTime: Date.now() - 432000000 // 5天前
      }
    ]
  },
  {
    id: '2',
    name: '闸坡海陵岛',
    coverImage: '/static/图片.jpg',
    tags: ['岛屿', '海鲜', '度假'],
    rating: 4.6,
    visitCount: 8320,
    address: '广东省阳江市海陵区闸坡镇',
    openTime: '全天开放',
    price: '免费(部分景点收费)',
    likeCount: 426,
    description: '海陵岛位于广东省阳江市西南部，是一个美丽的海岛度假胜地。岛上拥有多个优质沙滩，其中十里银滩最为著名。这里气候宜人，海水清澈，是避暑度假、休闲娱乐的理想之地。岛上还有丰富的海鲜美食和各类水上活动，如帆船、冲浪、海钓等，能够满足不同游客的需求。',
    latitude: 21.577,
    longitude: 111.806,
    images: [
      { id: '104', url: '/static/图片.jpg' },
      { id: '105', url: '/static/图片.jpg' }
    ],
    comments: [
      {
        id: '203',
        user: {
          id: 'u3',
          nickName: '美食探索家',
          avatarUrl: '/static/图片.jpg'
        },
        content: '岛上的海鲜太新鲜了！价格也很实惠，海滩很干净，住宿选择也多，非常适合家庭度假。',
        createTime: Date.now() - 172800000 // 2天前
      }
    ]
  }
];

/**
 * 获取景点列表
 */
function getAttractions() {
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve(mockAttractions);
    }, 500);
  });
}

/**
 * 根据ID获取景点详情
 * @param {string} id 景点ID
 */
function getAttractionById(id) {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      const attraction = mockAttractions.find(item => item.id === id);
      if (attraction) {
        resolve(attraction);
      } else {
        reject(new Error('景点不存在'));
      }
    }, 800);
  });
}

/**
 * 检查用户是否已点赞
 * @param {string} userId 用户ID
 * @param {string} attractionId 景点ID
 */
function checkLikeStatus(userId, attractionId) {
  return new Promise((resolve) => {
    setTimeout(() => {
      // 模拟随机点赞状态，实际应用中应查询数据库
      resolve({
        isLiked: Math.random() > 0.5
      });
    }, 300);
  });
}

/**
 * 点赞/取消点赞
 * @param {string} userId 用户ID
 * @param {string} attractionId 景点ID
 * @param {boolean} isLike 是否点赞
 */
function toggleLike(userId, attractionId, isLike) {
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve({
        success: true,
        message: isLike ? '点赞成功' : '取消点赞成功'
      });
    }, 300);
  });
}

/**
 * 添加评论
 * @param {Object} commentData 评论数据
 */
function addComment(commentData) {
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve({
        id: 'comment_' + Date.now(),
        success: true,
        message: '评论成功'
      });
    }, 500);
  });
}

// 定义接口对象
const mockApi = {
  getAttractions,
  getAttractionById,
  checkLikeStatus,
  toggleLike,
  addComment
};

// 兼容CommonJS
if (typeof module !== 'undefined' && module.exports) {
  module.exports = mockApi;
}

// 兼容ES模块
export default mockApi; 